package com.myz.rabbitmq.study8;

import com.myz.rabbitmq.utils.RabbitMqUtils;
import com.rabbitmq.client.AMQP;
import com.rabbitmq.client.BuiltinExchangeType;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.impl.AMQBasicProperties;

import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Producer01 {
    // 交换机
    public static final String NORMAL_EXCHANGE = "normal_exchange";
    public static void main(String[] args) throws Exception {
        // 1.获取信道
        Channel channel = RabbitMqUtils.getChannel();
        // 2.声明交换机 在消费者01已经声明过交换机，此处不用再次声明
//        channel.exchangeDeclare(NORMAL_EXCHANGE, BuiltinExchangeType.TOPIC);
        // basicProperties 发送消息basicPublish 参数3 TTL时间 信息经过多久成为死亡信息 单位毫秒
        // 普通队列最大长度 和 消息过期时间 只能同时存在一个
//        AMQP.BasicProperties properties = new AMQP.BasicProperties().builder().expiration("10000").build();
        // 发送消息
        for (int i = 0; i < 10; i++) {
            String message = i+"-message";
            // 交换机 路由key 其它参数 信息
            channel.basicPublish(NORMAL_EXCHANGE,"zhangsan",null,message.getBytes(StandardCharsets.UTF_8));
        }
    }
}
